import { Commit } from "vuex";

interface IData {
  id: number;
  title: string;
  banner: string;
  singleMdel: string;
  isShowTabel: number;
  goodsNums: number;
  siteName: string;
  categoryRespVOS: {
    cateName: string;
    id: 27;
  }[];
}

interface IStates {
  code: number;
  date: IData;
  msg: string;
  time: number;
}
interface IState {
  states: Array<IStates>;
}
interface IReel1 {
  namespaced: boolean;
  state: IState;
  actions: {
    getmon1: ({ commit }: { commit: Commit }) => void;
  };
  mutations: {
    GET_MON: (state: IState, { res }: { res: IStates[] }) => void;
  };
}

interface IPar2 {
  categoryId: string;
  type: string;
}
interface IData2 {
  [key: string]: any;
}

interface IStates2 {
  code: number;
  date: IData2;
  msg: string;
  time: number;
}
interface IStatemon {
  states: Array<IStates2>;
}
interface IReel2 {
  namespaced: boolean;
  state: IStatemon;
  actions: {
    getmon2: (
      { commit }: { commit: Commit },
      { params }: { params: IPar2 }
    ) => void;
  };
  mutations: {
    GET_MON: (state: IStatemon, { res }: { res: IStates2[] }) => void;
  };
}
export { IReel1, IReel2 };
